home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / hdf / newsltr / newslttr.lha / Newsletter2 < prev    next >
Text File  |  1980-02-08  |  21KB  |  631 lines

  1.  
  2.                    NCSA HDF Newsletter #2
  3.                        August 20, 1990
  4.  
  5. CONTENTS 
  6.     HDF Version 3.1
  7.     VMS
  8.     DFSDgetslice and DFSDputslice documentation errors 
  9.     Other releases
  10.         The HDF V-set
  11.         PolyView 1.0 (2-D and 3-D polygon viewer)
  12.         NCSA Image 3.0 (Macintosh): late September
  13.         Import2HDF (Mac): beta release
  14.         Reformat, a Unix-based file converter: beta release
  15.         Enhanced fptohdf coming soon
  16.     HDF 4.0 in the works
  17.     HDF and netCDF
  18.             
  19.  
  20. Mike Folk (mfolk@ncsa.uiuc.edu)
  21. --------------------------- ** ---------------------------
  22.  
  23.                       HDF Version 3.1
  24.  
  25. During the first half of July, we released Version 3.1 of HDF.  
  26.  
  27. The differences between HDF 3.0 and HDF 3.1 are not major.  (See 
  28. the list below.)  If you have been using HDF 3.0, you should not 
  29. need to change anything to your code or to the way you compile and 
  30. link programs that invoke HDF.  If you have a program that runs 
  31. correctly with HDF 3.0 but does not run correctly under HDF 3.1,  
  32. let us know immediately.  (mfolk@ncsa.uiuc.edu (217-244-0647) or 
  33. clow@ncsa.uiuc.edu (217-2440014))
  34.  
  35. --- Changes in 3.10 ---
  36.  
  37. These are changes made in Release 3.10:
  38.  
  39.     * fixed a bug concerning checking the status of opening a file
  40.       with unbuffered i/o
  41.  
  42.     * Added function DF24readref and DFGRreadref for random access
  43.       of 24-bit rasters
  44.  
  45.     * Added function DF24restart
  46.  
  47.     * Added function DF24setil
  48.  
  49.     * Speeded up the DFSDgetdata, DFSDputdata, DFSDadddata,
  50.       DFSDgetslice and DFSDputslice functions, especially for 
  51.       UNICOS machines.  (I/o performance on the Crays should be
  52.       at least 10 times faster, and in some cases much more than
  53.       that.) 
  54.  
  55.     * Repaired the DFSDgetslice and DFSDputslice routines, which
  56.       did not work correctly.  Also, the treatment of these 
  57.       routines in the  HDF 3.0 manual is incorrect.  The correct
  58.       versions are described briefly later in this newsletter.
  59.  
  60.     * Added several functions to the annotations interface.  
  61.       Most of the new functions are to allow you to annotate HDF
  62.       files.  The already-existing annotation functions are for 
  63.       annotating HDF objects within HDF files.  The new functions
  64.       include:  DFANaddfid, DFABaddfds, DFANgetfidlen, DFANgetfid,
  65.       DFANgetdslen, DFANgetfds, DFANaddfann, DFANgetfannlen, 
  66.       DFANgetfann and DFANlastref.
  67.  
  68.     * Revised DFANlablist so that it returns all reference numbers
  69.       for a given tag
  70.  
  71.     * Fixed bug with DFSDgetdata where it did not move to the next
  72.       SDG
  73.  
  74.     * Added some macros to make passing character arrays from
  75.       fortran to C easier
  76.  
  77.     * Other minor modifications. 
  78.  
  79.  --- Updated manual soon ---
  80.  
  81. An updated version of the HDF manual should be available soon.  We 
  82. will send out another announcement when it is.
  83.  
  84. --- Supported platforms ---
  85.  
  86. With this release, we now support the HDF library on the following 
  87. platforms:
  88.  
  89.     Cray 2 and X-MP (UNICOS)
  90.     Suns (Unix)
  91.     SGI (Unix)
  92.     Alliant (Concentrix)
  93.     Macintosh (Mac OS)
  94.     IBM PC (MS-DOS)
  95.     Vax (VMS)
  96.  
  97. The Macintosh, PC, and VMS versions are somewhat special, 
  98. unfortunately:
  99.  
  100. * On the Mac, you need MPW C and Languages Systems Fortran (we're 
  101. trying to make it work with Absoft Fortran as well).  You need MPW 
  102. C even if you only want to write Fortran calls, because HDF makes 
  103. calls to MPW C routines that are proprietary and cannot be 
  104. included with the library.  We are also playing with AUX 2.0 on 
  105. the Mac, and may support an AUX-based HDF soon.
  106.  
  107. * The PC version currently requires Lattice C, but we are 
  108. currently switching over to Microsoft C, which seems to be more 
  109. popular.
  110.  
  111. * See the writeup on VMS HDF below.
  112.  
  113.  
  114. --- Other platforms ---
  115.  
  116. There are several other machines that HDF is running on 
  117. successfully, but that we can't officially support because we 
  118. don't have them here.  We have started a HINTS file (on anonymous 
  119. ftp in the HDF/src directory) where we put hints on how you might 
  120. go about porting HDF to your particular platform.  When people 
  121. send us information about new machines that they have ported HDF 
  122. to, we put that information in this file.  We can provide 
  123. information (or put you in touch with someone who can) on how you 
  124. can probably make HDF work on the following machines:
  125.  
  126.     Cray (CTSS)
  127.     Apollo
  128.     MIPS machines (e.g. DEC 3100 (Ultrix))
  129.     Convex 
  130.     Stellar
  131.  
  132. In general, if you have a Unix platform, there is a good chance 
  133. that it is similar enough to one of the machines that we do 
  134. support that you can get HDF working on it.
  135.  
  136. Also, a group at UCLA has been pouring a lot of effort into porting
  137. HDF to their IBM 3090 MVS and VM systems.  They have had a lot
  138. of success, and we expect them to be able to share their results
  139. with us soon.  Stay tuned.
  140.  
  141.  
  142. --------------------------- ** ---------------------------
  143.  
  144.                            VMS
  145.  
  146. The VMS port finally seems to be working pretty well, at least if 
  147. the lack of bug reports on it is any indication.  We owe a real 
  148. debt of thanks to several people for substantial amounts of help 
  149. getting VMS to work, including Joe St. Sauver at Oregon, Ron 
  150. Schmucker at Lawrence Livermore National Laboratory, Brian Wallace 
  151. at Oak Ridge National Laboratory, and Bob Mark of the U.S. 
  152. Geological Survey.  Future suggestions for ways to improve our VMS 
  153. support are extremely welcome.
  154.  
  155. I am pleased to report that we managed to scrounge a VaxStation II 
  156. a couple of months ago, and just recently have gotten it to be 
  157. functional with VMS.  Now, with luck we can keep a really stable 
  158. HDF working.
  159.  
  160.  --- fixatr ---
  161.  
  162. One frequent question we get asked is how to use the fixatr 
  163. routine.  The fixatr routine needs to be used to convert between 
  164. VMS's Stream-LF format, which VMS C reads and writes, and fixed-
  165. 512 format, which ftp and other transfer programs work best with.  
  166. The README.VMS file explains how to use fixatr.
  167.  
  168. One problem that some people have encountered that has not been 
  169. properly covered in the README.VMS file is the need to identify 
  170. correctly the file recformat.exe that is invoked on the second 
  171. line of fixatr.cld.  After executing makefix.com (enter: @makefix) 
  172. you need to find out the full path name to recformat.exe.  This 
  173. path name has to be substituted in the proper place on line 2 of 
  174. the file fixatr.cld, which originally reads:
  175.  
  176.     image disk$system:[fixatr]recformat
  177.  
  178. For instance, if the directory that contains recformat.exe is 
  179. sys$login:[hdf], you change the line to read 
  180.  
  181.     image sys$login:[hdf]recformat.exe
  182.  
  183. Also, before executing fixatr, you need to execute the command:
  184.  
  185.     set command fixatr
  186.  
  187. --- Utilities on VMS ---
  188.  
  189. Another problem several people have encountered has been in using 
  190. the utilities, such as hdfls and fptohdf.  If a program name (e.g. 
  191. hdfls) is to be treated as a command procedure, VMS requires that 
  192. you assign (using :==) the name to the full path of the 
  193. corresponding executable procedure.  For example, if the full path 
  194. name for the executable hdfls is sys$login:[hdf]hdfls.exe, you 
  195. would enter
  196.  
  197.     hdfls :== sys$login:[hdf]hdfls.exe
  198.  
  199. We have included with the new release on anonymous ftp a file 
  200. called setuputils.com that does this for you for all of the hdf 
  201. utilities.  (You have to change a path name within setuputils.com 
  202. to correspond to your system before you execute it.)
  203.  
  204.  --- hdfrseq ---
  205.  
  206. The utility hdfrseq requires special treatment when use from a VMS 
  207. machine.  The problem is as follows: hdfrseq sends a stream of 
  208. bytes via telnet to your terminal.  If this stream of bytes 
  209. doesn't have a line-feed every 512 bytes or less, VMS in its 
  210. infinite wisdom adds one for you.  This of corrupts the image, and 
  211. you get wierd streaks in your output.
  212.  
  213. Brian Wallace has given us a simple solution to this problem:  You 
  214. can eliminate the extra line-feed by entering the following line 
  215. before you execute hdfrseq: 
  216.  
  217. set terminal/nowrap
  218.  
  219. (After executing hdfrseq, you may want to set the terminal back to 
  220. its original modes with something like "set terminal/wrap.")
  221.  
  222. In release 3.1 this is done for you, as hdfrseq is included in a 
  223. ".com" file that sets "nowrap" before executing hdfrseq.
  224.  
  225. --------------------------- ** ---------------------------
  226.  
  227.                 DFSDgetslice and DFSDputslice 
  228.                  documentation errors fixed
  229.  
  230.  
  231. The documentation for DFSDputslice and DFSDgetslice is wrong in 
  232. the most recently published version of the HDF manual.  Most 
  233. important is that the parameter lists shown in the documentation 
  234. are incorrect.  Here are some excerpts from the new documentation 
  235. that explain how the routines should be called.
  236.  
  237.  
  238.  --- Writing Parts of a Scientific Dataset ---
  239.  
  240. To store an array in slices, make calls to DFSDstartslice, 
  241. DFSDputslice, and DFSDendslice in the following order:
  242.  
  243. DFSDstartslice(filename)
  244. DFSDputslice(windims, data, dims)
  245. DFSDputslice(windims, data, dims)
  246. ...
  247. DFSDputslice(windims, data, dims)
  248. DFSDendslice()
  249.  
  250.  
  251.  --- DFSDstartslice --- 
  252.  
  253. FORTRAN:
  254. INTEGER FUNCTION dfsdstartslice(filename)
  255. CHARACTER*64 filename
  256.  
  257. C:
  258. int DFSDstartslice(filename)
  259. char *filename;    /* name of HDF file */
  260.  
  261. Purpose:  To prepare the system to write a slice to a file. 
  262. Returns:  0 on success; -1 on failure.
  263.  
  264. Before DFSDstartslice is called, DFSDsetdims must be called to 
  265. specify the dimensions of the dataset to be written to the file. 
  266. DFSDstartslice always appends a new dataset to an existing file. 
  267.  
  268.  
  269.  --- DFSDputslice --- 
  270.  
  271. FORTRAN:
  272. INTEGER FUNCTION DFSDputslice(windims, source, dims)
  273. INTEGER windims(*) 
  274. REAL    source()
  275. INTEGER    dims(*)
  276.  
  277. C:
  278. int DFSDputslice(windims, source, dims)
  279. int32 windims[];    /* dimensions of slice*/
  280. float32 *source;    /* array for storing slice*/
  281. int32 dims[];        /* dimensions of array source*/
  282.  
  283. Purpose:  To write a slice to an SDS 
  284. Returns:  0 on success; -1 on failure.
  285.  
  286. DFSDputslice stores part of an array to the dataset last declared 
  287. by DFSDsetdims.  Slices must be stored contiguously.  
  288.  
  289. Array windims ("window dimensions") specifies the size of the 
  290. slice to be written. windims has as many elements as there are 
  291. dimensions in the entire SDS array. source is an array containing 
  292. the slice. 
  293.  
  294.  
  295.  --- DFSDendslice --- 
  296.  
  297. FORTRAN:
  298. INTEGER FUNCTION DFSDendslice()
  299.  
  300. C:
  301. int DFSDendslice()
  302. Purpose:  To specify that the entire dataset has been written.
  303. Returns:  0 on success; -1 on failure.
  304.  
  305. DFSDendslice must be called after all the slices are written. It 
  306. checks to ensure that the entire dataset has been written, and if 
  307. it has not, returns an error code.
  308.  
  309.  
  310.  --- Example: Writing slices to a 10x12 SDS. --- 
  311. /****************************************************
  312. *
  313. * Example C code:    Write out slices of different sizes 
  314. *        from a 10 x 12 array.
  315. *
  316. ****************************************************/
  317.  
  318. ...
  319.  
  320.     int rank;
  321.     int dimsizes[2], windims[2];
  322.     float data[10][12];
  323.  
  324.     /* code that builds the array goes here */
  325.     ...
  326.  
  327.     dimsizes[0]=10;
  328.     dimsizes[1]=12;
  329.  
  330.     DFSDsetdims(2,dimsizes);
  331.  
  332.     /* write out scientific data set in slices */
  333.     DFSDstartslice(filename);
  334.  
  335.     windims[0]=2; windims[1]=12;    /* {(1,1) to (2,12)} */
  336.     DFSDputslice(windims, &data[0][0], dimsizes);
  337.  
  338.     windims[0]=4; windims[1]=12;    /* {(3,1) to (6,12)} */
  339.     DFSDputslice(windims, &data[2][0], dimsizes);
  340.  
  341.     windims[0]=1; windims[1]=4;    /* {(7,1) to (7,4)} */
  342.     DFSDputslice(windims, &data[6][0], dimsizes);
  343.  
  344.     windims[0]=1; windims[1]=8;    /* {(7,5) to (7,12)} */
  345.     DFSDputslice(windims, &data[6][4], dimsizes);
  346.  
  347.     windims[0]=3; windims[1]=12;    /* {(8,1) to (10,12)} */
  348.     DFSDputslice(windims, &data[7][0], dimsizes);
  349.  
  350.     DFSDendslice();
  351.  
  352. ...
  353.  
  354.  
  355.  --- Reading Part of a Scientific Dataset --- 
  356.  
  357. The routine DFSDgetslice lets you read in a slice from an SDS.  A 
  358. slice is an array of elements that is a subarray, or "hypercube", 
  359. of  the SDS from which it is read.  (Note that, for the purposes 
  360. of reading slices, the definition of a slice is more general that 
  361. it is for writing slices.)
  362.  
  363. A slice can be described with two one-dimensional arrays, one 
  364. containing the coordinates of the corner that is nearest to the 
  365. origin and the other containing the sizes of the slices 
  366. dimensions.   
  367.  
  368.  
  369.  
  370.  --- DFSDgetslice --- 
  371.  
  372. FORTRAN:
  373. INTEGER FUNCTION DFSDgetslice(filename,winst,windims dest, dims)
  374. CHARACTER*(*) filename
  375. INTEGER    winst
  376. INTEGER    windims
  377. REAL    dest
  378. INTEGER    dims
  379.  
  380. Purpose:  To read part of an SDS from a file.
  381. Returns:  0 on success; -1 on failure.
  382.  
  383. DFSDgetslice accesses the dataset last accessed by DFSDgetdims. If 
  384. DFSDgetdims has not been called for the named file, DFSDgetslice 
  385. gets a slice from the next dataset in the file.
  386.  
  387. Array winst specifies the coordinates of the start of the slice.  
  388. Array winend gives the size of the slice.  The number of elements 
  389. in winst and winend must be equal to the rank of the dataset. For 
  390. example, if the file contains a three dimensional dataset, winst 
  391. may contain the values {2, 4, 3}, while windims contains the 
  392. values {3,1,4}. This will extract a 3 x 4, two-dimensional slice, 
  393. containing the elements between (2,4,3) and (4,4,6) from the 
  394. original dataset. 
  395.  
  396. dest is the array into which the slice is read. It must be at 
  397. least as big as the desired slice.
  398.  
  399. dims is an array containing the actual dimensions of the array 
  400. dest. The user assigns values to dims before calling DFSDgetslice. 
  401.  
  402. NOTE: All the parameters on the call assume FORTRAN-style 1-based 
  403. arrays.
  404.  
  405.  
  406.  --- Example --- 
  407.  
  408. /****************************************************
  409. *
  410. * Example C code:    Read in slices from a 10 x 12 array. 
  411. *
  412. ****************************************************/
  413. #include "df.h"
  414. ...
  415.  
  416.     int  i, rank;
  417.     int32 dimsizes[2];
  418.  
  419.     DFSDgetdims(filename, &rank, dimsizes, 2);
  420.  
  421.     /* starting at (3,4) read 4 x 6 window */
  422.     getit("myfile", 3,4,4,6); 
  423.  
  424.     /* starting at (1,10) read 10 x 2 window */
  425.     getit("myfile", 1,10,10,2);
  426.  
  427.     printf("\n");
  428.  
  429. }
  430.  
  431. getit(filename, st0, st1, rows, cols)
  432. int st0, st1, rows, cols;
  433. char *filename;
  434. {
  435.     int i, j;
  436.     int32 winst[2], windims[2], dims[2];
  437.     float32 data[500];
  438.  
  439.     winst[0]=st0; winst[1]=st1;
  440.     dims[0] = windims[0] = rows;
  441.     dims[1] = windims[1] = cols;
  442.     DFSDgetslice(filename, winst, windims, data,dims);
  443.  
  444.     for (i=0; i<rows; i++)  {
  445.         printf("\n");
  446.         for (j=0; j<cols; j++)
  447.          printf("%5.0f%c",data[i*cols+j], ' ');
  448.     }
  449.     printf("\n");
  450. }
  451.  
  452. --------------------------- ** ---------------------------
  453.  
  454.                        Other Releases
  455.  
  456. Here are some short takes on other items of interest.  All of 
  457. these items can be gotten from our anonymous ftp server 
  458. ("ftp.ncsa.uiuc.edu" (141.142.20.50)).  For those that are 
  459. officially released, you can also order them on tape (and 
  460. sometimes on disk) through our technical resource catalog.  To 
  461. obtain a catalog, contact:
  462.  
  463.     NCSA Documentation Orders
  464.     152 Computing Applications Building
  465.     605 East Springfield Avenue
  466.     Champaign, IL 61820
  467.     (217) 244-0072
  468.  
  469.  
  470.  --- HDF Vset --- 
  471.  
  472. The HDF Vset (formerly "vgroup") structures and interface are now 
  473. available in a separate directory on anonymous ftp.  We described 
  474. this structure in the previous newsletter.  Here is the gist of 
  475. what we said:
  476.  
  477. Vset provides two important new structures:
  478.  
  479.     1. a general grouping structure that lets the user form groups 
  480. out of any set of HDF objects, including other Vgroups
  481.  
  482.     2. a general structure made up of a set of record-like 
  483. structures, each record being made up of a set of fields.  Fields 
  484. can be use-defined or predefined.
  485.  
  486. Vgroups are useful for a number of important scientific  
  487. application areas, including finite element and non-rectilinear 
  488. mesh data, and  3-D polygonal  data.
  489.  
  490. The primary use that have made so far of Vsets is in storing data 
  491. for use with our SGI-based polyview program.  For Polyview, we 
  492. store 3-D vertices, connectivity lists (polygons), and associated 
  493. scalar data.  See the description of Polyview below.
  494.  
  495. Vset is currently in a separate library, but we plan to integrate 
  496. it with the regular HDF library with the next full release of HDF, 
  497. planned for late Fall of this year.  You can find Vset in a 
  498. separate directory on anonymous ftp, or contact Jason Ng ((217)-
  499. 244-8524; likkai@ncsa.uiuc.edu).
  500.  
  501.  
  502.  
  503.  --- PolyView 1.0 (2-D and 3-D polygon viewer) ---
  504.  
  505. PolyView is an interactive visualization tool for HDF Vset data. 
  506. PolyView  displays an HDF Vset of polygons or points that describe 
  507. a two or three dimensional, interactive image with optional 
  508. annotation.  PolyView-produced images may be written to a RIS8 HDF 
  509. format file.  The program also allows you to:
  510.  
  511.     -- change display projection
  512.     -- render image as points, lines, or polygons
  513.     -- choose constant or gouraud shaded polygons
  514.     -- load and manipulate the colormap
  515.     -- animate a series of vdata sets
  516.     -- view a fly-by of the data using a script file
  517.  
  518. PolyView is only supported on the Silicon Graphics Personal IRIS 
  519. 4D/20G (24-bit color, 24-bit Z-buffer).  It makes extensive use of 
  520. Z-buffering.  Although it has not been ported to or tested on 
  521. higher-end IRISes, it should run on most recent models.
  522.  
  523. Sample code which demonstrates the creation of an HDF
  524. Vset file is included.
  525.  
  526.  --- NCSA Image 3.0 (Macintosh): late September --
  527.  
  528. This is the next upgrade for the Image program.  It will support 
  529. several new features:
  530.  
  531.      * Distributed computing capabilities
  532.      * HDF list windows (discussed below)
  533.      * Enhanced 3D support
  534.      * Bug fixes and minor upgrades
  535.      * Animation from a single file
  536.  
  537. The HDF list window allows one to view the tag/refs in an HDF 
  538. file.  In Image three kinds of tag/refs are shown (RIG, SDG and 
  539. IP8).  The HDF list window allows one to select any of the 
  540. tag/refs and display its "contents."  The list window also allows 
  541. one to annotate and label any of the tag/refs in the window.
  542.  
  543. The code for the list window was written in a portable fashion for 
  544. MPW C 3.0. It should be easy to add the list window to most Mac 
  545. programs.  We have already added it to Layout and plan on putting 
  546. it into the other Mac tools (DataScope and PalEdit).
  547.  
  548.  
  549.  ---. Import2HDF (Macintosh): Beta release ---
  550.  
  551. Import2HDF is a program that allows HDF users to convert files in 
  552. other formats to HDF format. This program provides rudimentary 
  553. display capability for HDF file contents. When you open an HDF 
  554. file it simply lists the contents of the file in a window. From 
  555. here, individual elements (RISs and SDSs) can be displayed. 
  556. Annotations for data groups can be added or changed. 
  557.  
  558. This program is currently in BETA release form, and should be 
  559. released in early fall.
  560.  
  561.  
  562.  --- Reformat, a Unix-based file converter: Beta release ---
  563.  
  564. This utility provides a mechanism by which images can be 
  565. transformed from one storage format to another.  It was initially 
  566. developed to facilitate the conversion of TIFF, FITS and GIF files 
  567. to HDF files, so the conversion routines are much the same as 
  568. those used in the NCSA MacIntosh tool, Import2HDF.
  569.  
  570. The graphical user interface requires X version 11, release 4 and 
  571. the Athena Widget set.  It has been tested with release 2 and 
  572. higher servers.  
  573.  
  574. There is also a command line interface that does not require X.
  575.  
  576.  
  577.  ---  fptohdf enhancement coming --
  578.  
  579. Bob Weaver at INEL recently sent me a greatly improved version of 
  580. fptohdf.  We haven't installed this new version on anonymous ftp, 
  581. but we hope to do so soon.  The current version accepts only 2-D 
  582. data sets that are text or hdf SDS files.  The new version can 
  583. accept 3-D scientific data sets, and also 32-bit and 64-bit raw 
  584. binary files.
  585.  
  586. We will put the new version on anonymous ftp soon.  (We'll call it 
  587. fp2hdf to distinguish it from the old version.)
  588.  
  589.  
  590.  
  591. --------------------------- ** ---------------------------
  592.  
  593.                       HDF 4.0 in the works
  594.  
  595. HDF is currently undergoing a major overhaul.  The primary goals 
  596. of the rewrite of HDF are 
  597.  
  598.     * to improve the underlying code structure, based on what we
  599.       have learned over the past two years
  600.     * to allow multiple file access
  601.     * to integrate the Vset interface into HDF
  602.     * to improve HDF's error handling facilities.
  603.  
  604. All of the current interfaces will be supported in HDF 4.0, but 
  605. there will also be new, corresponding interfaces that permit 
  606. greater user control over file access.
  607.  
  608. We will provide more details on HDF 4.0 in a future Newsletter.
  609.  
  610.  
  611. --------------------------- ** ---------------------------
  612.  
  613.                          HDF and netCDF
  614.  
  615.  
  616. NetCDF is an interface for data access produced by the Unidata 
  617. Program Center at the University Center for Atmospheric Research.  
  618. It is a excellent interface, providing a very effective data 
  619. abstraction model for describing scientific data.  We discussed 
  620. with Unidata the possibility of incorporating the netCDF interface 
  621. in HDF, and have concluded that it is something that we should do.  
  622. We are currently looking for funding to undertake this project, 
  623. which would be fairly substantial.
  624.  
  625. We will give more details about this effort in a future 
  626. newsletter.
  627. --------------------------- ** ---------------------------
  628.  
  629.  
  630.  
  631.